package reflect;

import reflect.annotation.AutoRunClass;
import reflect.annotation.AutoRunMethod;

import java.lang.reflect.Method;
import java.util.Scanner;

/**
 * 输入任意一个类名
 * 如果该类名上有@AutoRunClass注解，则通过反射创建该类的对象
 * 即实例化对象
 *
 *
 * 1. reflect.Person
 * 2. reflect.Student
 */
public class Test3 {
    public static void main(String[] args) throws Exception {

        Scanner scan=new Scanner(System.in);
        System.out.println("请输入一个类名");
        String className=scan.nextLine();

        Class cls=Class.forName(className);

        boolean mark=cls.isAnnotationPresent(AutoRunClass.class);
        if (mark){
            Object obj=cls.newInstance();
            System.out.println(obj);
            System.out.println("可以输入需要调用的方法");

            String methodName=scan.nextLine();
            Method method=cls.getMethod(methodName);
            boolean mask=method.isAnnotationPresent(AutoRunMethod.class);
            method.invoke(obj);

        }else {
            System.out.println("该类没有注解");
        }












    }
}
